package com.hxs.hxsserver.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.hxs.hxsserver.domain.dto.IdDTO;
import com.hxs.hxsserver.domain.dto.PageBaseDto;
import com.hxs.hxsserver.domain.dto.device.*;
import com.hxs.hxsserver.domain.entity.device.Device;
import com.hxs.hxsserver.domain.entity.device.DeviceStatusHistory;
import com.hxs.hxsserver.domain.entity.user.User;

import java.util.List;

/**
 * @author liuchuan
 * @create 2024/9/26
 */
public interface DeviceService {
    void insertDevice(Device device);

    void updateDevice(Device device);

    IPage<DeviceDTO> getDeviceList(DeviceListQueryDTO deviceListQueryDTO, User user);

    Boolean updateDeviceById(DeviceDTO dto);

    List<DeviceFolderTree> getDeviceTree(User user);

    Boolean insertDeviceById(DeviceDTO dto,User user);

    Boolean deleteDeviceById(IdDTO idDTO);

    Boolean insertFolder(FolderDTO folderDTO,User user);

    Boolean updateFolder(FolderDTO folderDTO);

    Boolean deleteFolder(IdDTO idDTO);

    DeviceDTO getDeviceById(IdDTO idDTO);

    IPage<DeviceStatusHistory> getDeviceStatusHisList(DeviceStatusQueryDTO deviceListQueryDTO);

    RutrunDeviceNumDTO getDeviceNum(User user);

    void executeTask();
}
